home *** CD-ROM | disk | FTP | other *** search
/ Magnum One / Magnum One (Mid-American Digital) (Disc Manufacturing).iso / d20 / msgq160s.arc / RA.H < prev    next >
Text File  |  1991-10-26  |  14KB  |  392 lines

  1. /*
  2.  * RA.H - RemoteAccess structures
  3.  *
  4.  * Msged/Q message editor for QuickBBS  Copyright 1990 by P.J. Muller
  5.  *
  6.  */
  7.  
  8. typedef BYTE RA_FLAG[4];
  9.  
  10. typedef struct {
  11.   WORD zone;
  12.   WORD net;
  13.   WORD node;
  14.   WORD point;
  15. } RA_ADDRESS;
  16.  
  17. typedef char RA_TIME[6];
  18. typedef BYTE RA_ASK;
  19.  
  20. /*
  21.  * File: MESSAGES.RA
  22.  *
  23.  * MESSAGES contains all configuration data concerned with the
  24.  * various message-areas in the RA message-base. One record is
  25.  * provided for each message-area, and the file has a fixed-length
  26.  * of 200 records. Contained in this file is information ranging
  27.  * from the name of the area, to how the area can be accessed and
  28.  * how the messages should be maintained (by RAMSG and the like).
  29.  */
  30.  
  31. enum {RA_NumBoards=200};
  32. enum RA_MsgTypes {RA_Local, RA_NetMail, RA_EchoMail};
  33. enum RA_MsgKinds {RA_Both, RA_Private, RA_Public, RA_ROnly};
  34.  
  35. typedef struct {
  36.   char name[41];
  37.   BYTE type;        /* RA_MsgTypes */
  38.   BYTE kinds;        /* RA_MsgKinds */
  39.   BOOLEAN aliases;
  40.   BYTE days_kill;
  41.   BYTE recv_kill;
  42.   WORD count_kill;
  43.  
  44.   WORD read_security;
  45.   RA_FLAG read_flags;
  46.   WORD write_security;
  47.   RA_FLAG write_flags;
  48.   WORD sysop_security;
  49.   RA_FLAG sysop_flags;
  50.  
  51.   char origin[61];
  52.   BYTE aka;
  53. } RA_BOARDRECORD;
  54.  
  55. /*
  56. Field descriptions:
  57.  
  58.      Name      :    Name of message-area, in readable form
  59.      Typ       :    What type of messages should be kept in the
  60.                     area. (Local, NetMail, EchoMail)
  61.      MsgKinds  :    What kind of messages should be allowed in
  62.                     the area. (Both, Private, Public, ROnly)
  63.      Aliases   :    If used should be allowed to enter messages
  64.                     under another name.
  65.      DaysKill  :    How many days since posting messages should
  66.                     be kept for
  67.      RecvKill  :    How many days since posting messages
  68.                     received should be kept for
  69.      CountKill :    Maximum number of messages which should be
  70.                     allowed in the message-area
  71.      ReadSecurity:  Security value needed to read messages
  72.      ReadFlags :    Flags needed to read messages
  73.      WriteSecurity: Security value needed to post messages
  74.      WriteFlags:    Flags needed to post messages
  75.      SysopSecurity: Security value needed to perform 'Sysop'
  76.                     functions on the message area. eg, "[D]elete
  77.                     messages, [*] etc.."
  78.      SysopFlags:    Flags needed to perform 'Sysop' functions on
  79.                     the message area.
  80.      OriginLine:    Text to place on " * Origin:" line, if empty
  81.                     default one is used.
  82.      AkaAddress:    Aka # address to use on " * Origin:" line,
  83.                     MSGID's, EID's in EchoMail areas, and origin
  84.                     addresses in the case of the message-area
  85.                     being NetMail.
  86. */
  87.  
  88. /*
  89.  * File: CONFIG.RA
  90.  *
  91.  * CONFIG contains most of the configuration information needed by
  92.  * RA. It covers everything from the location of other data-files
  93.  * to the restriction of various security levels from certain
  94.  * functions to modem information.
  95.  */
  96.  
  97. typedef struct {
  98.   WORD version_id;
  99.   BYTE comm_port;
  100.   long baud;
  101.   BYTE init_tries;
  102.   char init_str[71];
  103.   char busy_str[71];
  104.   char init_resp[41];
  105.   char busy_resp[41];
  106.   char connect_300[41];
  107.   char connect_1200[41];
  108.   char connect_2400[41];
  109.   char connect_4800[41];
  110.   char connect_9600[41];
  111.   char connect_19k[41];
  112.   char connect_38k[41];
  113.   BOOLEAN answer_phone;
  114.   char ring[21];
  115.   char answer_str[21];
  116.   BOOLEAN flush_buffer;
  117.   int modem_delay;
  118.   int minimum_baud;
  119.   int graphics_baud;
  120.   int transfer_baud;
  121.   RA_TIME slow_baud_time_start;
  122.   RA_TIME slow_baud_time_end;
  123.   RA_TIME download_time_start;
  124.   RA_TIME download_time_end;
  125.   RA_TIME paging_time_start;
  126.   RA_TIME paging_time_end;
  127.   char loading_msg[71];
  128.   char list_prompt[71];
  129.   int pwd_expiry;
  130.   char menu_path[61];
  131.   char text_path[61];
  132.   char net_path[61];
  133.   char nodelist_path[61];
  134.   char msgbase_path[61];
  135.   char sys_path[61];
  136.   char external_ed_cmd[61];
  137.   RA_ADDRESS address[10];    /* 0..9 */
  138.   char system_name[31];
  139.   int new_security;
  140.   int new_credit;
  141.   RA_FLAG new_flags;
  142.   char origin_line[61];
  143.   char quote_string[16];
  144.   char sysop[36];
  145.   char log_filename[61];
  146.   BOOLEAN fast_logon;
  147.   BOOLEAN allow_sys_rem;
  148.   BOOLEAN mono_mode;
  149.   BOOLEAN strict_pwd_checking;
  150.   BOOLEAN direct_write;
  151.   BOOLEAN snow_check;
  152.   int credit_factor;
  153.   int user_time_out;
  154.   int logon_time;
  155.   int password_tries;
  156.   int max_page;
  157.   int page_length;
  158.   BOOLEAN check_for_multi_logon;
  159.   BOOLEAN exclude_sysop_from_list;
  160.   BOOLEAN one_word_names;
  161.   RA_ASK check_mail;
  162.   BOOLEAN ask_voice_phone;
  163.   BOOLEAN ask_data_phone;
  164.   BOOLEAN do_full_mail_check;
  165.   BOOLEAN allow_file_shells;
  166.   BOOLEAN fix_upload_dates;
  167.   BOOLEAN show_file_dates;
  168.   BOOLEAN ansi;
  169.   BOOLEAN clear_screen;
  170.   BOOLEAN more_prompt;
  171.   BOOLEAN upload_msgs;
  172.   BOOLEAN kill_sent;
  173.   int crash_ask_sec;
  174.   RA_FLAG crash_ask_flags;
  175.   int crash_sec;
  176.   RA_FLAG crash_flags;
  177.   int fattach_sec;
  178.   RA_FLAG fattach_flags;
  179.   BYTE norm_fore;
  180.   BYTE norm_back;
  181.   BYTE stat_fore;
  182.   BYTE stat_back;
  183.   BYTE hi_back;
  184.   BYTE hi_fore;
  185.   BYTE wind_fore;
  186.   BYTE wind_back;
  187.   BYTE exit_local;
  188.   BYTE exit_300;
  189.   BYTE exit_1200;
  190.   BYTE exit_2400;
  191.   BYTE exit_4800;
  192.   BYTE exit_9600;
  193.   BYTE exit_19k;
  194.   BYTE exit_38k;
  195.   BOOLEAN multi_line;
  196.   BYTE min_pwd_len;
  197.   WORD min_up_space;
  198.   RA_ASK hot_keys;
  199.   BYTE border_fore;
  200.   BYTE border_back;
  201.   BYTE bar_fore;
  202.   BYTE bar_back;
  203.   BYTE log_style;
  204.   BYTE multi_tasker;
  205.   BYTE pwd_board;
  206.   WORD buffer_size;
  207.   char fkeys[10][61];    /* 1..10 actually */
  208.   BYTE future_expansion[1024];
  209. } RA_CONFIG;
  210.  
  211. /*
  212. Field descriptions:
  213.  
  214.      VersionID :    May be used in future versions. Currently
  215.                     set to $0000 (or 0x0000)
  216.      CommPort  :    COMx: port number. 1 = COM1:
  217.      Baud      :    bps rate to use with modem
  218.      InitTries :    Number of times to try to initialise the
  219.                     modem
  220.      InitStr   :    Initialisation string
  221.      BusyStr   :    Modem string to take modem off-hook
  222.      InitResp  :    Initialisation response
  223.      BusyResp  :    Response to BusyStr
  224.      Connect300:    300bps connection response:
  225.      Connect1200:   1200bps
  226.      Connect2400:   2400bps
  227.      Connect4800:   4800bps
  228.      Connect9600:   9600bps
  229.      Connect19k:    19.2kbps
  230.      Connect38k:    38kbps
  231.      AnswerPhone:   If RA should answer phone manually
  232.      Ring      :    Modem "RING" code
  233.      AnswerStr :    "ATA"-style modem command to answer phone
  234.      FlushBuffer:   [not-used]
  235.      ModemDelay:    Delay to pause between lines sent to modem
  236.      MinimumBaud:   Minimum bps to allow a connection
  237.      GraphicsBaud:  Minimum bps to allow ANSI graphics
  238.                     capabilities
  239.      TransferBaud:  Minimum bps to allow file-transfer
  240.      SlowBaudTimeStart
  241.                :    Time to start 300bps file-transfer window
  242.      SlowBaudTimeEnd
  243.                :    Time to stop 300bps file-transfer window
  244.      DownloadTimeStart
  245.                :    Time to start file-transfer window
  246.      DownloadTimeEnd
  247.                :    Time to stop file-transfer window
  248.      PagingTimeStart
  249.                :    Time to start Sysop-paging window
  250.      PagingTimeEnd
  251.                :    Time to stop Sysop-paging window
  252.      LoadingMsg:    Message to display whilst loading external
  253.                     program
  254.      ListPrompt:    Prompt for 'list' menu-type
  255.      PwdExpiry :    Number of calls to force password-change
  256.      MenuPath  :    Path to *.MNU files
  257.      TextPath  :    Path to *.ASC and *.ANS files
  258.      NetPath   :    Path to netmail *.MSG files
  259.      NodelistPath:  [not-used]
  260.      MsgBasePath:   Path to MSG*.BBS files
  261.      SysPath   :    Path to main RA 'root' system directory
  262.      ExternalEdCmd: Command to execute external message-editor
  263.      Address   :    Primary and AKA address info. Element '0' of
  264.                     this array is the primary, elements 1-9 are
  265.                     AKA's.
  266.      SystemName:    Name of system
  267.      NewSecurity:   New-user security
  268.      NewCredit :    New-user netmail credit
  269.      NewFlags  :    New-user flags
  270.      OriginLine:    Default ' * Origin:'-line
  271.      QuoteString:   String to proceed message quotes. '@' are
  272.                     converted into initials of quotee
  273.      Sysop     :    Name of Systems Operator
  274.      LogFileName:   Filename of log-file
  275.      FastLogon :    Should names be prompted in local mode? If
  276.                     not, the Sysop's name is used.
  277.      AllowSysRem:   Should the Sysop be allowed to log-on
  278.                     remotely?
  279.      MonoMode  :    Should RA use B&W colours?
  280.      StrictPwdChecking
  281.                :    Sets if RA should strictly compare new and
  282.                     old passwords (using word-similarity
  283.                     algorithm)
  284.      DirectWrite:   Sets if RA should write directly to the
  285.                     screen, otherwise BIOS calls are used
  286.      SnowCheck :    Sets if RA should worry about possible snow
  287.                     when writing to the screen
  288.      CreditFactor:  Upload credit factor. A value of 'x' gives
  289.                     a user 'x' more seconds online.
  290.      UserTimeOut:   Number of seconds to decide a "User
  291.                     inactivity"
  292.      LogonTime :    Number of minutes allowed to get to the TOP
  293.                     menu.
  294.      PasswordTries: Number of tries a user can have at providing
  295.                     a correct password
  296.      MaxPage   :    Maximum number of Sysop-pages allowed per-
  297.                     call
  298.      PageLength:    Sysop-page length (in seconds)
  299.      CheckForMultiLogon
  300.                :    Specifies if RA should check to make sure a
  301.                     user isn't online on more than one line at
  302.                     once.
  303.      ExcludeSysopFromList
  304.                :    Tells RA if the Sysop should be placed on
  305.                     user-lists etc..
  306.      OneWordNames:  Specifies if users are allowed to log-on
  307.                     with one-word names. eg "Phil"
  308.      CheckMail :    Specifies if mail-checking should be done,
  309.                     not done, or if the user should be prompted
  310.                     before doing so.
  311.      AskVoicePhone: Tells RA if new-users should be asked their
  312.                     voice/home number
  313.      AskDataPhone:  Tells RA if new-users should be asked their
  314.                     data/business number
  315.      DoFullMailCheck
  316.                :    Specifies if RA should use 'short-cuts' on
  317.                     mail-checking, by only checking onwards from
  318.                     the highest message the user has read
  319.                     previously.
  320.      AllowFileShells:
  321.                :    Controls the availability of 'shell'
  322.                     control-codes in text files. This has been
  323.                     a large security problem in the past, so is
  324.                     optioned in the RA package.
  325.      FixUploadDates
  326.                :    Specifies if file-dates on uploads shouldbe
  327.                     reset to the date/time they were sent
  328.      ShowFileDates: Specifies if file-dates should be displayed
  329.                     in files listings. More space is available
  330.                     for descriptions without dates.
  331.      ANSI      :    Controls new-user setting of ANSI graphics
  332.      ClearScreen:   Controls new-user setting of screen-clearing
  333.      MorePrompt:    Controls new-user setting of Continue[Y/n/=]
  334.                     prompts
  335.      UploadMsgs:    [not-used]
  336.      KillSent  :    Controls use of 'Kill/Sent' on netmail
  337.      CrashAskSec:   Minimum security to have option for 'crash'
  338.                     netmail
  339.      CrashAskFlags: Flags requried to have option for 'crash'
  340.                     netmail
  341.      CrashSec  :    Minimum security to force use of crash-mail
  342.      CrashFlags:    Flags required to force use of crash-mail
  343.      FAttachSec:    Security needed to have option for 'file-
  344.                     attaches' on netmail
  345.      FAttachFlags:  Flags needed to have option for 'file-
  346.                     attaches' on netmail
  347.  
  348.                NOTE: The following attribute fields are for
  349.                local control ONLY
  350.  
  351.      NormFore  :    Foreground for normal text
  352.      NormBack  :    Background for normal text
  353.      StatFore  :    Foreground for status-line
  354.      StatBack  :    Background for status-line
  355.      HiBack    :    Background for highlight text
  356.      HiFore    :    Foreground for highlight text
  357.      WindFore  :    Foreground for window text
  358.      WindBack  :    Background for window text
  359.  
  360.           NOTE: The following values specify errorlevel numbers
  361.           given-off the front-end-mailer for each bps rate.
  362.  
  363.      ExitLocal
  364.      Exit300
  365.      Exit1200
  366.      Exit2400
  367.      Exit4800
  368.      Exit9600
  369.      Exit19k
  370.      Exit38k
  371.  
  372.      MultiLine :    Tells RA if it is running on a multi-line
  373.                     system
  374.      MinPwdLen :    Minimum password-length (characters)
  375.      MinUpSpace:    Minimum disk space required for initiating
  376.                     of upload
  377.      HotKeys   :    Controls new-user setting of use of 'hot-
  378.                     keys'
  379.      BorderFore:    Foreground of window-border
  380.      BorderBack:    Background of window-border
  381.      BarFore   :    Foreground of menu-bar
  382.      BarBack   :    Background of menu-bar
  383.      LogStyle  :    Style of log RA should write
  384.      MultiTasker:   Type of multi-tasker used (if any)
  385.      PwdBoard  :    Msg area # to use for password failure
  386.                     notification messages (WatchDog)
  387.      BufferSize:    Internal buffer-size to use
  388.      FKeys     :    Function-key command-lines
  389.      FutureExpansion
  390.                :    [not-used]
  391. */
  392.